const express = require("express");
const bodyParser = require("body-parser");       //前端调用post方法时，将参数塞入req中
const cors = require("cors");                    //处理跨域问题

const app = new express()

var corsOptions = {
    origin: "http://0.0.0.0:5173"
};

app.use(cors(corsOptions));

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));

const db = require("./app/models");
db.sequelize.sync();

require("./app/routes/tech.route")(app);
require("./app/routes/daily_task.route")(app);
require("./app/routes/daily_check.route")(app);
require("./app/routes/sign_up.route")(app);
require("./app/routes/learning.route")(app);
require("./app/routes/course.route")(app);

const PORT = 3000;
app.listen(PORT, ()=>{
    console.log("项目成功运行: %d.",PORT)
})

//db.learning_route.create({user_mail:"a@a",tech_id:"301",process:"0",ready:"true"});

// // insert data
// // tech
// db.tech.create({tech_level:"1",tech_name:"HTML",tech_id:"0"});
// db.tech.create({tech_level:"1",tech_name:"CSS",tech_id:"1"});
// db.tech.create({tech_level:"1",tech_name:"Javascript",tech_id:"2"});
// db.depend.create({tech_id:"2",dep_id:"0"});
// db.depend.create({tech_id:"2",dep_id:"1"});

// db.tech.create({tech_level:"2",tech_name:"npm",tech_id:"3"});
// db.tech.create({tech_level:"2",tech_name:"yarn",tech_id:"4"});
// db.tech.create({tech_level:"2",tech_name:"git",tech_id:"5"});

// db.tech.create({tech_level:"3",tech_name:"Jest",tech_id:"6"});
// db.tech.create({tech_level:"3",tech_name:"Webpack",tech_id:"7"});
// db.depend.create({tech_id:"6",dep_id:"3"});
// db.depend.create({tech_id:"6",dep_id:"4"});
// db.depend.create({tech_id:"7",dep_id:"3"});
// db.depend.create({tech_id:"7",dep_id:"4"});

// // react
// db.tech.create({tech_level:"4",tech_name:"React",tech_id:"9"});
// db.depend.create({tech_id:"9",dep_id:"2"});
// db.depend.create({tech_id:"9",dep_id:"7"});
// db.depend.create({tech_id:"9",dep_id:"5"});

// db.tech.create({tech_level:"5",tech_name:"React-Native",tech_id:"10"});
// db.depend.create({tech_id:"10",dep_id:"9"});

// //Vue
// db.tech.create({tech_level:"4",tech_name:"Vue",tech_id:"11"});
// db.depend.create({tech_id:"11",dep_id:"2"});
// db.depend.create({tech_id:"11",dep_id:"7"});
// db.depend.create({tech_id:"11",dep_id:"5"});


// //Angular
// db.tech.create({tech_level:"4",tech_name:"Angular",tech_id:"12"});
// db.depend.create({tech_id:"12",dep_id:"2"});
// db.depend.create({tech_id:"12",dep_id:"7"});
// db.depend.create({tech_id:"12",dep_id:"5"});


// //component
// db.tech.create({tech_level:"4",tech_name:"Antdesign",tech_id:"13"});
// db.depend.create({tech_id:"13",dep_id:"9"});

// db.tech.create({tech_level:"4",tech_name:"element+",tech_id:"14"});
// db.depend.create({tech_id:"14",dep_id:"11"});

// // java [199,100]
// db.tech.create({tech_level:"1",tech_name:"Java基本语法",tech_id:"100"})
// db.tech.create({tech_level:"2",tech_name:"Java面向对象",tech_id:"101"})
// db.tech.create({tech_level:"5",tech_name:"现代JAVA特性",tech_id:"102"})
// db.depend.create({tech_id:"101",dep_id:"100"});
// db.depend.create({tech_id:"102",dep_id:"101"});

// db.tech.create({tech_level:"5",tech_name:"JAVA多线程编程",tech_id:"110"})
// db.depend.create({tech_id:"110",dep_id:"101"});
// db.tech.create({tech_level:"5",tech_name:"JAVA网络编程",tech_id:"120"})
// db.depend.create({tech_id:"120",dep_id:"101"});

// db.tech.create({tech_level:"3",tech_name:"JDBC数据库",tech_id:"130"})
// db.depend.create({tech_id:"130",dep_id:"101"});

// // contact with html css and JS
// db.tech.create({tech_level:"3",tech_name:"JavaWeb基础",tech_id:"140"})
// db.depend.create({tech_id:"140",dep_id:"2"});

// db.tech.create({tech_level:"4",tech_name:"Spring",tech_id:"141"})
// db.depend.create({tech_id:"141",dep_id:"140"});

// // c and c++ [299,200]
// db.tech.create({tech_level:"1",tech_name:"C语言基本语法",tech_id:"200"})
// db.tech.create({tech_level:"2",tech_name:"C语言IO",tech_id:"201"})
// db.tech.create({tech_level:"2",tech_name:"C语言库函数",tech_id:"202"})
// db.tech.create({tech_level:"2",tech_name:"C语言调试",tech_id:"203"})
// db.depend.create({tech_id:"201",dep_id:"200"});
// db.depend.create({tech_id:"202",dep_id:"200"});
// db.depend.create({tech_id:"203",dep_id:"200"});

// db.tech.create({tech_level:"3",tech_name:"C语言算法设计",tech_id:"210"})
// db.depend.create({tech_id:"210",dep_id:"201"});
// db.depend.create({tech_id:"210",dep_id:"202"});
// db.depend.create({tech_id:"210",dep_id:"203"});

// db.tech.create({tech_level:"3",tech_name:"汇编基础",tech_id:"220"})
// db.tech.create({tech_level:"4",tech_name:"嵌入式开发",tech_id:"221"})
// db.depend.create({tech_id:"221",dep_id:"210"});

// db.tech.create({tech_level:"3",tech_name:"C++语言基础",tech_id:"250"})
// db.depend.create({tech_id:"250",dep_id:"210"});
// db.tech.create({tech_level:"4",tech_name:"C++面向对象",tech_id:"251"})
// db.tech.create({tech_level:"4",tech_name:"C++ STL使用",tech_id:"252"})
// db.tech.create({tech_level:"4",tech_name:"C++模板语法",tech_id:"253"})
// db.depend.create({tech_id:"251",dep_id:"250"});
// db.depend.create({tech_id:"252",dep_id:"250"});
// db.depend.create({tech_id:"253",dep_id:"250"});

// db.tech.create({tech_level:"4",tech_name:"C++高级算法设计",tech_id:"254"})
// db.depend.create({tech_id:"254",dep_id:"251"});
// db.depend.create({tech_id:"254",dep_id:"252"});
// db.depend.create({tech_id:"254",dep_id:"253"});

// db.tech.create({tech_level:"4",tech_name:"C++网络编程",tech_id:"260"})
// db.depend.create({tech_id:"260",dep_id:"251"});
// db.tech.create({tech_level:"4",tech_name:"C++并行编程",tech_id:"261"})
// db.depend.create({tech_id:"261",dep_id:"251"});

// //python [399,300]
// //python basic
// db.tech.create({tech_level:"1",tech_name:"python基础语法",tech_id:"300"});
// db.tech.create({tech_level:"1",tech_name:"python数据结构",tech_id:"301"});

// db.tech.create({tech_level:"2",tech_name:"python数据据库",tech_id:"302"});
// db.depend.create({tech_id:"302",dep_id:"300"});
// db.depend.create({tech_id:"302",dep_id:"301"});

// db.tech.create({tech_level:"2",tech_name:"python网络编程",tech_id:"303"});
// db.depend.create({tech_id:"303",dep_id:"302"});

// db.tech.create({tech_level:"2",tech_name:"python多线程",tech_id:"304"});
// db.tech.create({tech_level:"2",tech_name:"python错误、调试与测试",tech_id:"305"});
// db.tech.create({tech_level:"2",tech_name:"python安全编程技术",tech_id:"306"});
// db.depend.create({tech_id:"304",dep_id:"302"});
// db.depend.create({tech_id:"305",dep_id:"304"});
// db.depend.create({tech_id:"306",dep_id:"305"});

// //contract with js
// db.tech.create({tech_level:"3",tech_name:"python web前端开发",tech_id:"307"});
// db.depend.create({tech_id:"307",dep_id:"2"});
// db.depend.create({tech_id:"307",dep_id:"303"});

// //back
// db.tech.create({tech_level:"3",tech_name:"Django",tech_id:"308"});
// db.depend.create({tech_id:"308",dep_id:"307"});


// db.tech.create({tech_level:"3",tech_name:"python爬虫",tech_id:"309"});
// db.depend.create({tech_id:"309",dep_id:"308"});


// db.tech.create({tech_level:"5",tech_name:"python数据分析",tech_id:"310"});
// db.depend.create({tech_id:"310",dep_id:"304"});


// db.tech.create({tech_level:"5",tech_name:"python大数据",tech_id:"311"});
// db.depend.create({tech_id:"311",dep_id:"310"});


// db.tech.create({tech_level:"6",tech_name:"python深度学习",tech_id:"312"});
// db.depend.create({tech_id:"312",dep_id:"311"});
// db.depend.create({tech_id:"312",dep_id:"402"});


// // computer science [499,400]
// db.tech.create({tech_level:"3",tech_name:"离散数学",tech_id:"401"});
// db.tech.create({tech_level:"3",tech_name:"线性代数",tech_id:"402"});

// db.tech.create({tech_level:"4",tech_name:"数值分析",tech_id:"403"});
// db.depend.create({tech_id:"403",dep_id:"402"});

// db.tech.create({tech_level:"4",tech_name:"计算机网络",tech_id:"410"});
// db.tech.create({tech_level:"4",tech_name:"操作系统",tech_id:"411"});
// db.tech.create({tech_level:"4",tech_name:"计算机组成",tech_id:"412"});